草庐IT

MongoDB 分组

全部标签

c# - 对一个集合进行分组并返回一个字典

我编写了一个方法,该方法采用项目集合(价格项目-每个项目都有一个数量和一个代码)并按代码对它们进行分组,然后返回一个IDictionary,其中键是项目的代码,值是具有该代码的项目组(希望有意义!)下面是方法的实现:publicIDictionary>GetGroupedPriceDetails(IEnumerablepriceDetails){//createadictionarytoreturnvargroupedPriceDetails=newDictionary>();//groupthepricedetailsbycodevargrouping=priceDetails.Gr

c# - 使用 LINQ 对数字序列进行无间隙分组

有了这个数组int[]{1,2,3,4,7,8,11,15,16,17,18};我如何转换为这个字符串数组"1-4","7-8","11","15-18"建议?林克? 最佳答案 vararray=newint[]{1,2,3,4,7,8,11,15,16,17,18};varresult=string.Join(",",array.Distinct().OrderBy(x=>x).GroupAdjacentBy((x,y)=>x+1==y).Select(g=>newint[]{g.First(),g.Last()}.Distinc

c# - ListView 调整列大小性能问题(分组)

我遇到了ListView的主要性能问题每当我实现分组时。我找到了somewhatsimilarquestions在StackOverflow上,但似乎没有任何帮助!这是我目前的情况(我已经简化了我的项目,所以噪音更少):我有一个ContentControl用ListView作为child。ListView绑定(bind)到ObservableCollection,最初是空的。随着时间的流逝,对象被添加到集合中(在本例中,使用DispatcherTimer每10秒添加500个项目)。ObservableCollection的大小会有所不同,但该系列最终可能会超过25,000件。当Obse

c# - ListView 中的 MVVM 分组项目

我不明白我做错了什么。我想在listView中对项目进行分组。结果我想看到类似的东西:它使用MVVM模式。这是我的XAML代码。这是我的EmploeeListViewModel.cspublicclassEmploeeListViewModel:ViewModelBase{readonlyEmploeeRepository_emploeeRepository;privateObservableCollection_allmpl;publicObservableCollectionAllEmploees{get{if(_allmpl==null){_allmpl=newObservabl

c# - 分组并在列表中计数

我有一个充满整数的列表,如下所示:[0]1[1]4[2]4[3]8[4]9[5]1[6]1所以基本上是随机数,但相同的数字可以在该列表中多次出现。我想要的是按数字对它们进行分组,但我还可以知道该数字在列表中出现了多少次。所以我有一个类似的东西:[0][number]1[total]3//Occured3timesinthelist[1][number]4[total]2[2][number]8[total]1[3][number]9[total]1是否有快速/简单的方法来完成此操作?或者我是否有写出各种循环和检查来手动构建这样的东西? 最佳答案

c# - 如何使用 Linq 对每 N 行进行分组

我找不到一种方法来完成这项工作,希望有人有想法。一个简化的例子是有一个整数1-100的列表,我想每3行分组一次,所以结果在第一组中为1、2、3,然后在下一组中为4、5、6等。我知道如何获取每第n条记录,但我需要的是所有记录,这样我就可以使用first、last、sum、max等来聚合它们。谢谢! 最佳答案 此示例适用于查询非数字集合。它将索引投影到要分组的对象中,然后在分组过程中再次删除它。varstudentQuery2=students.Select((student,index)=>new{student,index}).Gr

javascript - 有没有办法使用 MongoDB 查询对象来过滤常规 JavaScript 数组?

在MongoDB中,您可以使用如下所示的JSON样式对象来查询集合:db.things.find({x:{$ne:3},y:'foo'});我想重用那个{x:{$ne:3},y:'foo'}位并用它来过滤JavaScript对象数组。是否有任何代码/库可以做到这一点,并且支持所有查询选项(或者尽可能多地有意义)? 最佳答案 好的,这是另一个尝试:sift.js(npm:sift)byCraigCondonisaMongoDB-inspiredarrayfilteringlibrary.It’sabitlikeanalternativ

javascript - 使用 d3 的轴标签的多级/分组

我想知道是否有一种简单的方法可以在d3中添加多级/分层/分组的轴标签。例如,如果我有一个折线图,其中x轴的月份名称跨越多年,我还希望将年份作为月份名称下方的标签,因此它看起来像这样。OctNovDecJanFebMarApr|_____________||___________________|20112012我知道你可以在SVG中做任何事情来让它工作,但我想尽可能多地使用d3,这样动态更新图表就容易得多。谢谢,jack 最佳答案 您可以根据需要添加和格式化多个轴。例如-显示一个轴显示月份,另一个轴显示年份。一个基本示例:http:

javascript - 如何在mongodb中使用for循环

我需要向现在有5246个文档的mongodb集合插入一个新字段(列)。该字段应自动递增。所以我使用forloop。我的查询如下`for(i=1;i但我的错误输出是,{new_field:5246},{new_field:5246},{new_field:5246},.......查询有问题吗..? 最佳答案 为什么要更新没有查找条件的所有记录?从技术上讲,这个循环可以正常工作。您需要做的是像这样循环遍历您的集合的游标:varcursor=db.coll.find(),i=0;cursor.forEach(function(x){db

javascript - 追随者——mongodb 数据库设计

所以我正在使用mongodb,我不确定我是否有正确/最好的数据库集合设计来完成我正在尝试做的事情。可以有很多项目,用户可以用这些项目创建新组。任何用户都可以关注任何组!我不仅将关注者和项目添加到组集合中,因为组中可能有5个项目,或者可能有10000个(对于关注者也是如此),并且从研究中我认为您不应该使用未绑定(bind)数组(其中限制未知)由于性能问题,当文档由于其扩大的大小而必须移动时。(无论如何,在遇到性能问题之前,是否有建议的数组长度最大值?)我认为在以下设计中,一个真正的性能问题可能是当我想要获取用户关注的特定项目的所有组(基于user_id和item_id)时,因为那样我必须